Method for continuing executing a program on a second computer after all information related to the program are being copied from a first computer

ABSTRACT

A handheld computing device is used to copy files from the screen of a fixed computer. The display of the handheld device is linked to that of the underlying computer and file and directory icons together with their underlying files are copied to the handheld device. Files from the handheld device can also be transferred to the fixed computer. When a user is running a program on the fixed computer, he may capture the state of that computer and transfer everything needed to permit execution of that program to continue uninterrupted on the handheld device. Thus files and executing programs may be lifted from the fixed computer and used on the handheld device.

This application is a Divisional of application Ser. No. 09/793,595filed Feb. 27, 2001 which is a Divisional of application Ser. No.09/266,851 filed Mar. 12. 1999 which is a Divisional of application Ser.No. 08/671,297 filed Jul. 1, 1996 now U.S. Pat. No. 5,906,657.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to computer systems, and more particularly, to thetransfer of files between computer systems not physically networkedtogether.

2. Description of Related Art

When transferring files between computer systems, it is common toutilize an intermediary diskette. A diskette is loaded into a disk driveof one computer system, the file to be transferred is copied to thatdiskette, and then the diskette is transported physically to thecomputer system to which the transfer is to occur and placed in a diskdrive of that system. The file is then copied from the diskette to thetarget computer system.

Computers which are networked together, may transfer files eitherdirectly, such as when using a file transfer protocol (FTP), orindirectly via the intermediary of a server. In some systems, all filesare stored on a central server and all terminals have access to them,subject to the appropriate security clearance.

The Problems

The transfer of files using a diskette is slow and cumbersome. Transfersmust occur twice, first from the source computer to the diskette andthen from the diskette to the target computer. Diskettes are limited asto their capacity and often, a file must be broken up and stored onseparate diskettes in order to be effectively transferred. The userinterfaces utilized to activate a copy command are often not convenientmaking the transfer difficult. Selecting files, folders and containersfrom crowded iconic desk tops also creates difficulties. In the networkenvironment, users are often less familiar with the invocation ofnetwork commands utilized to transfer files then they are with theoperation of their own computer.

SUMMARY OF THE INVENTION

The present invention provides apparatus, systems, processes andcomputer program products which provide new techniques for transferringfiles between computers. In typical operation, the user will have alarge, fixed computer and a relatively small, handheld flat screencomputer, reader or other dedicated flat screen computing device. Intypical operation, a user will have an active screen open on the largecomputer's display. By placing the small flat screen device over theimage of a file, the screens of the two computing devices are linked sothat the small computer's display “bleeds through” and displays theportion of the large device display being covered on the small devicedisplay. This is constantly updated so that by moving the small handhelddevice over the surface of the large computer's display, differentportions of the screen can be displayed on the small computer's display.

In addition to linking of screens, files can be transferred from thefixed device to the handheld device by selecting a transfer mode and byplacing an indicator, such as crosshairs on an icon of a file from thefixed device. A copy command then causes the file from the fixed deviceto be transferred to the handheld device using a communications link,such as an infrared or radio link. The position of the handheld devicerelative to the fixed computing device is determined using anultrasound, an infrared or a Polhemus-type six degrees of freedomlocator.

In another mode, the state of an operating program together with allneeded files can be transferred to the handheld device over thecommunications link and execution of the program can continueuninterrupted on the handheld device. Alternatively, the handheld devicecan be slaved to the fixed device and operated remotely.

The file transfer mechanisms of the invention are particularly usefulbecause they implement an analogy to picking up a physical file andmoving it to a different computer and putting it down. That is a naturalkind of action that is comfortable to most users. It overcomes theproblems of the prior art in ways that are convenient to a user.

The invention relates to computer apparatus for linking with a portablecomputer for the transfer of information, including a bus, a centralprocessing unit connect to and controlling the bus, a wirelesstransceiver for sending information to and receiving information fromthe portable computer, and a position detector, connected to the bus,for determining the location and orientation of the portable computerwith respect to the computer apparatus. The position detector may be aphotocell or a Polhemus receiver. The wireless transceiver is aninfrared transceiver. A video buffer provides information to a display.The video buffer provides display information to the wirelesstransceiver based on the location and orientation of the portablecomputer.

The invention relates to a portable computer for linking with anon-portable computer for the transfer of information, including awireless transceiver for receiving information from the non-portablecomputer, and two video buffers, one of which provides information fromthe portable computer to a display, and the other of which providesinformation from the non-portable computer over the wireless transceivertwo the display.

The invention also relates to a method of linking the display screens ofa first and a second computer, to display the same information, bydetermining the position of the second computer relative to the firstcomputer, and transferring display information from the first computerto the second computer for display on the display screen of the secondcomputer when the position of the display information on the displayscreen of the first computer lies directly underneath a location on thedisplay screen of the second computer.

The invention is also directed to a method of copying one or more filesfrom a first computer to a second computer, by linking the screens ofthe first computer and the second computer over a wireless transceiverto display the same information, selecting the one or more files forcopying, and transmitting the one or more files from the first computerto the second computer over the wireless transceiver.

The invention is also directed to a method of capturing a programrunning on a first computer to permit it to run on a second computer, bycopying all open files from the first computer to the second computer,copying memory space from the first computer to the second computer,linking the screens of the first computer to the second computer,copying registers and program counters from the first computer to thesecond computer, and beginning executing the program on the secondcomputer.

The invention is also directed to a method of slaving a first computerto a second computer, by redirecting keyboard input so that it isreceived from the second computer over a wireless communications link,redirecting mouse input so that it is received from the second computerover the wireless communications link, and redirecting display outputfrom the second computer over the wireless communications link.

The invention is also directed to a method of copying one or more filesfrom a portable computer to a fixed computer, by placing the fixedcomputer into a receive mode, sending a name of a file or directory tobe used in storing the one or more files over a wireless link from theportable computer to the fixed computer, opening a file using the namein write mode, copying the contents of the one or more files from theportable computer to the fixed computer, and closing the file ordirectory.

The invention is also directed to a method of selecting files by linkingthe screens of the first computer and the second computer over awireless transceiver to display the same information, and sendingcommands from the second computer to the first computer over a wirelesslink to emulate mouse commands originating at the first computer.

The invention is also directed to a method of freezing an image on adisplay screen of a computer, by linking the screens of a first computerand the second computer over a wireless transceiver to display the sameinformation, determining the position of the second computer relative tothe first computer, and transferring display information from the firstcomputer to the second computer for display on the display screen of thesecond computer (1) when the position of the display information on thedisplay screen of the first computer lies directly underneath a locationon the display screen of the second computer and the distance separatingthe display screen of the first computer and the display screen of thesecond computer is less than a fixed amount, and (2) otherwise, freezingthe information on the display screen of the second computer.

The invention is also directed to a system for linking with a portablecomputer for the transfer of information, including a network, and aplurality of fixed computers connected to the network, at least one ofwhich has a wireless transceiver for sending information to andreceiving information from a nearby portable computer.

The invention is also directed to computer program products for carryingout the techniques of the invention.

Still other objects and advantages of the present invention will becomereadily apparent to those skilled in the art from the following detaileddescription, wherein only the preferred embodiment of the invention isshown and described, simply by way of illustration of the best modecontemplated of carrying out the invention. As will be realized, theinvention is capable of other and different embodiments, and its severaldetails are capable of modifications in various obvious respects, allwithout departing from the invention. Accordingly, the drawing anddescription are to be regarded as illustrative in nature, and not asrestrictive.

BRIEF DESCRIPTION OF DRAWINGS

The objects, features and advantages of the system of the presentinvention will be apparent from the following description in which:

FIG. 1A illustrates a fixed computer of a type suitable for carrying outthe invention.

FIG. 1B is a block diagram of the computer of FIG. 1A.

FIG. 1C illustrates an exemplary memory medium containing one or moreprograms useable with the computer of FIG. 1A.

FIG. 2 illustrates a portable computer suitable for use with the fixedcomputer of FIG. 1 in carrying out the invention.

FIG. 3 is an illustration of how the portable computing device of FIG. 2is positioned with respect to the fixed computing device of FIG. 3 forfile transfer.

FIG. 4 is a block diagram of circuitry for sending screen informationfrom the fixed device to the portable device for display.

FIG. 5 is a block diagram of circuitry for receiving and displayingscreen information sent from the fixed device.

FIG. 6 is a partial block diagram of the bus structure of FIG. 1Butilized to explain transfer of files between a fixed and a portabledevice.

FIG. 7 is a flowchart of a process for transferring files from a fixeddevice to a portable device.

FIG. 8 is a flowchart of a process for “capturing” or transferring arunning application from a fixed device to a portable device whereexecution may continue.

FIG. 9 is a flowchart of a process for running the fixed computer in amode in which it is slaved to the portable device.

FIG. 10 is a flowchart of a process for sending a file or directory froma portable device to a fixed device.

FIG. 11 illustrates a high resolution source of image informationconverted down to two different resolutions.

FIG. 12 is a block diagram of fixed and portable display apparatus forcontrolling addressing.

FIG. 13 shows an alternative for locating the portable display locationon the fixed display.

FIG. 14 is a flowchart of an exemplary process for freezing the image onthe screen of the small device display when it is lifted from thedisplay of the large screen.

NOTATIONS AND NOMENCLATURE

The detailed descriptions which follow may be presented in terms ofprogram procedures executed on a computer or network of computers. Theseprocedural descriptions and representations are the means used by thoseskilled in the art to most effectively convey the substance of theirwork to others skilled in the art.

A procedure is here, and generally, conceived to be a self-consistentsequence of steps leading to a desired result. These steps are thoserequiring physical manipulations of physical quantities. Usually, thoughnot necessarily, these quantities take the form of electrical ormagnetic signals capable of being stored, transferred, combined,compared, and otherwise manipulated. It proves convenient at times,principally for reasons of common usage, to refer to these signals asbits, values, elements, symbols, characters, terms, numbers, or thelike. It should be noted, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities.

Further, the manipulations performed are often referred to in terms,such as adding or comparing, which are commonly associated with mentaloperations performed by a human operator. No such capability of a humanoperator is necessary, or desirable in most cases, in any of theoperations described herein which form part of the present invention;the operations are machine operations. Useful machines for performingthe operation of the present invention include general purpose digitalcomputers or similar devices.

The present invention also relates to apparatus for performing theseoperations. This apparatus may be specially constructed for the requiredpurpose or it may comprise a general purpose computer as selectivelyactivated or reconfigured by a computer program stored in the computer.The procedures presented herein are not inherently related to aparticular computer or other apparatus. Various general purpose machinesmay be used with programs written in accordance with the teachingsherein, or it may prove more convenient to construct more specializedapparatus to perform the required method steps. The required structurefor a variety of these machines will appear from the description given.

DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1A illustrates a fixed computer of a type suitable for carrying outthe invention. Viewed externally in FIG. 1A, a computer system has acentral processing unit 100 having disk drives 110A and 110B. Disk driveindications 110A and 110B are merely symbolic of a number of disk driveswhich might be accommodated by the computer system. Typically, thesewould include a floppy disk drive such as 110A, a hard disk drive (notshown externally) and a CD ROM drive indicated by slot 110B. The numberand type of drives varies, typically, with different computerconfigurations. The computer has the display 120 upon which informationis displayed. A keyboard 130 and a mouse 140 are typically alsoavailable as input devices. Preferably, the computer illustrated in FIG.1A is a SPARC workstation from Sun Microsystems, Inc. A threedimensional position detector for receiving position information fromanother device is shown at 180.

FIG. 1B illustrates a block diagram of the internal hardware of thecomputer of FIG. 1A. A bus 150 serves as the main information highwayinterconnecting the other components of the computer.

CPU 155 is the central processing unit of the system, performingcalculations and logic operations required to execute programs. Readonly memory (160) and random access memory (165) constitute the mainmemory of the computer. Disk controller 170 interfaces one or more diskdrives to the system bus 150. These disk drives may be floppy diskdrives, such as 173, internal or external hard drives, such as 172, orCD ROM or DVD (Digital Video Disks) drives such as 171. An I/B interface145 connects keyboard 130 and mouse 140 to the bus. A display interface175 interfaces a display 120 and permits information from the bus to beviewed on the display. Communications with external devices can occurover communications port 185. Transceiver 125, connected to the bus overinterface 124 is used to communicate with another computing device.Preferably, this is an infrared (IR) transceiver. Three dimensionalposition detector 180 is connected to the bus over interface 179.Position or location detector 180 may be an ultrasound, infrared (IR) orPolhemus-type six degree of freedom locator. Polhemus devices aremanufactured by Polhemus, Incorporated of Colchester, Vermont.

FIG. 1C illustrates an exemplary memory medium which can be used withdrives such as 173 in FIG. 1B or 110A in FIG. 1A. Typically, memorymedia such as a floppy disk, or a CD ROM, or a Digital Video Disk willcontain the program and data information for controlling the computer toenable the computer to perform its functions in accordance with theinvention.

FIG. 2 illustrates a portable computer suitable for use with the fixedcomputer of FIG. 1 for carrying out the invention. The handheldcomputing device shown in FIG. 2 includes a display screen 220, akeyboard or series of keys 230 and a track wall mouse 240 all to assistin carrying out the usual functionality of a computer. In addition, thehandheld device includes a position sender 210 for sending the locationand orientation of the device vis a vis a receiver located on a fixedcomputer to be used for, inter alia, linking the displays to the twodevices so that the information shown on the display of the device ofFIG. 2 parallels the information shown on the portion of the display ofthe device of FIG. 1A which lies directly beneath it. In addition, thehandheld device of FIG. 2 includes an exemplary infrared transceiver 220for communicating information between the computer shown in FIG. 2 andthat shown in FIG. 1A.

The block diagram as shown in FIG. 1B also depicts the internalconstruction of the handheld device shown in FIG. 2.

FIG. 3 is an illustration of how the portable computing device of FIG. 2is positioned with respect to the fixed computing device of FIG. 3 forfile transfer. As shown in FIG. 3, handheld computing device 300 isplaced on the display screen 330 of a fixed computing device. Locationsender 310 on the handheld device sends location information to locationreceiver 320 on the fixed device. Display screen 330 on the fixed deviceand display screen 340 on the portable handheld device are defined witha coordinate system which has an origin, for purposes of this example,in the lower left hand corner. The location of the origin of thecoordinate system for display screen 340 on the portable device, O_(P),is displaced from the origin of the location sender 310 mounted on thesame device by a fixed amount. Thus, although location sender 310specifies the location of itself with respect to location receiver 320,the location of the origin of the display for the portable device isknown because it is a fixed offset from the location of the locationsender. Similarly, the location of the origin of the fixed display,O_(p), is known because it represents a fixed offset with respect to theposition of location receiver 320. Thus, the position of the handhelddisplay screen is known with respect to the coordinate system utilizedfor the large display screen. For example, as shown in FIG. 3, theorigin of the handheld display screen, O_(P), is positioned atcoordinates X1, Y1 of the fixed screen. The display-screen of thehandheld device, 340, has an X extent equal to X_(P) and a Y extentequal to Y_(P). Thus, the addresses from the display space of the largescreen 330, which corresponds to the address space for the small screen340 of the handheld device are known.

For ease of explanation of the operation of the invention, it will beassumed for purposes of the example that the resolution of the twodisplay screens are identical, that the CPU's are identical and that thememory spaces of the two devices are identical. These assumptions arenot necessary but it simplifies the explanation of the invention.

FIG. 4 is a block diagram of circuitry for sending screen informationfrom the fixed device to the portable device for display. As shown inFIG. 4, the normal source of image information 410 for fixed devicedisplay 420 is read and written to appropriate locations in a dual portvideo buffer 415 under control of write control 430. The display 420 isperiodically updated with information read from the dual port videobuffer 415 under control of read control 440. Thus, the dual port videobuffer may be updated concurrently with new image information fromsource 410 while the display is being updated with the contents of thedual port video buffer via read control 440. Read control 440 haslocation information for the position of the handheld device displayscreen vis a vis the main display screen as illustrated in FIG. 3.Therefore, read control 440 knows which portion of the image informationshown on display 420 underlies the display screen of the handhelddevice. Read control 440 opens the transfer gate 450 and allows theportion of the information displayed on display 420 to also be sent overinfrared transceiver 425 to the handheld device. In this way, theinformation underlying the display of the portable device is displayedon the portable device is sent to the portable device and displayed onthe portable device. During times when information is not beingtransferred across transfer gate 450, sync pulses 450 may be sent toensure that the clocks in read and write controls of the portablehandheld device are in synchronization with those of the fixed device.

FIG. 5 is a block diagram of circuitry for receiving and displayingscreen information sent from the fixed device. Image information source510 read control 540, write control 530 dual port video buffer 515 anddisplay 520 function when switch 580 is in the position shown to act asa normal display. The operation of that normal display corresponds tothat described in conjunction with FIG. 4. However, when the screens ofthe portable and fixed displays are to be linked so as to display thesame information, switch 580 moves to the alternate position. In thealternate position, image information received from the fixed deviceover IR transceiver 525 is written into dual port portable buffer 515′under control of clock recovery circuit 570 and sync pulses 565. Theinformation for the display 520, in this mode, is then read from theauxiliary dual port video buffer 515′ and displayed on display 520.Thus, display 520 can obtain its information internally from imageinformation source 510 or may obtain it externally from the fixed deviceover IR transceiver 525. In this way, the screens of the two devices maybe linked so as to display the same information.

FIG. 6 is a partial block diagram of the bus structure of FIG. 1B usedto explain transfer of files between a fixed and a portable device. Asshown in FIG. 6 a mouse 640 is connected to bus 650 via a mousecontroller or interface 645. Similarly, a transceiver 625 is connectedthrough its interface 624 to the bus 650. The CPU 655 manages theinteraction of these devices on the bus. Each device on the bus istypically handled by a device handler which is a program which typicallyterminates and stays resident to be invoked as needed. To facilitate thetransfer of files, in this exemplary implementation, interactions that amouse 640 would normally have through its controller with the devicehandler for the mouse are emulated and sent over IR transceiver 625 tothe bus 650. Thus, mouse functions such as those utilized in copyingfiles can be emulated by the portable handheld device and sent to thebus of the fixed device 650 to invoke actions on the part of the CPU 655as if the commands were generated by mouse 640.

FIG. 7 is a flowchart of a process for transferring files from a fixeddevice to a portable device. To initiate file transfer, a transfer modeis selected at the handheld device (700). The screens of the handheldand the fixed device are linked (710) and crosshairs are displayed onthe center of the screen of the handheld device (720). The user placesthe crosshairs over the icon of a file or directory to be copied (730),and since both screens identically are displaying the same informationby virtue of the linkage established at 710, the same icons are beingviewed. The address of the center of the crosshairs is translated to adisplay address of a display location on the fixed computer displayscreen (740) and mouse commands are emulated to place the cursor on thefixed display screen over the file icon selected on the handheld displayscreen (750). A file name or list of file names for a directoryassociated with the selected icon are obtained from a file managementsystem on the fixed computer and sent to the portable unit (760). Thefile or list of files are copied to a device number for the IRtransceiver (770) and the files are sent to the portable device wherethey are received and stored under the name or names sent (780).

FIG. 8 is a flowchart of a process for “capturing” or transferring arunning application from a fixed device to a portable device orexecution may continue. Capturing an operating application involvesessentially doing everything required to place a portable device into.the same state with respect to the software as if the portable devicewere the fixed device. In many respects, the process is like returning acomputer to a process after a context switch in a multi-taskingenvironment, such as that which occurs in UNIX. At a high level, oneneeds to identify all relevant files necessary to run the application,to make sure that the memory space is set up with all information neededto run the program and to ensure that the CPU registers,program-counters and the like are set up to coincide with the state atwhich the program left execution. In addition, the screens need to belinked so that both screens display the same information. This all isreflected in the process shown in FIG. 8. At step 800, a list of openfiles are obtained from the file manager system of the fixed device(800). The highest level directory encompassing all open files (810) isdetermined and copied together with all subordinate directories to theportable device (820). The memory space is copied into the portabledevice (830). The operating state of the CPU is reflected in theregisters, program counters and other state defining elements aretransferred to the portable device (840) to set the CPU into the samestate as that of the fixed device and information from one screen isdisplayed on the other screen (850). This time, the program is ready toresume execution where it left off.

FIG. 9 is a flowchart of a process for running the fixed computer in amode in which it is slaved to the portable device. Essentially theprocess is one of redirecting all inputs and outputs to the portabledevice. As shown at 900, the keyboard input is directed to be receivedfrom the portable device over the IR link (900). The mouse input isredirected to be received from the portable device (910) and displayoutput is redirected to the portable device (920). If the displays areof identical resolution, the amount of information displayed on theportable device screen will be less than a full screen of the fixeddevice, because it is smaller. However, if resolution is higher, a fullscreen's worth of display may be accommodated. Resolution and resolutionconversion is discussed more hereinafter.

FIG. 10 is a flowchart of a process for sending a file or directory froma portable device to a fixed device. The IR link between the twocomputing devices is opened (1000) and the fixed computer is placed intoa receive mode (1010). The portable device sends the name of the file ordirectory to be transferred to the fixed device (1020) where a file ordirectory with that same name on the fixed computer is created andopened in a write mode (1030). The file or directory is then copied tothe IR transceiver link and sent to the fixed computer (1040). Once theend of file has been reached (1050), the file or directory is closed onthe fixed computer (1060) and the process ends. If end of file has notbeen reached, the transfer continues.

FIG. 11 illustrates a high resolution source of image informationconverted down to two different resolutions. In the example shown inFIG. 11, image storage 1100 contains all information needed to store a8″×12″ image at 400 dpi (dots per inch or pixels per inch). Such imagestorage would require approximately 15.36 million pixels. By using a400:1 pixel averaging technique or other resolution conversiontechniques, the image represented in image storage 1100 can be displayedat 100 dpi spread over the same area using only 960,000 pixels (1120).The same image stored in image storage 1100 can be converted down at a40:1 conversion ratio to represent a much higher resolution display forthe viewport display. At 200 dpi, the image stored in image storage 1100can be represented with only 3.84 million pixels (1140). Thus, the highresolution information stored in image storage 1100 can be displayed ona low or resolution device, on fixed device display at 100 dpi and thehandheld display can display the same image at 200 DPI, thus coveringmore of the fixed device screen area on a smaller display.

FIG. 12 is a block diagram of apparatus for selecting sources of imageinformation and for controlling addressing.

The image shown on display 1200 is derived from video buffer 1205 whichcontains a subset of information stored in image section buffer 1210 asdescribed more hereinafter. Memory or mass storage 1225 contains imageinformation to be displayed. As discussed in conjunction with FIG. 11,this can be a very high resolution image stored. The high resolutionimage information is converted in display resolution transform 1215 to aresolution appropriate for the display 1200. A selector 1220 is utilizedto select sources of information for display on viewport display 1200.Fixed display 1235 is a low resolution device and the image displayed isderived from the high resolution version stored in memory 1225 using lowresolution transform 1245. Note that the clock speed is required todeliver all pixels of a high resolution storage such as 1225 and thoserequired to deliver a lower resolution version of the same image differ.Thus, if clock address generator 1250 is driving the readout, for alldevices, it must be divided down in order to control the readout of thelower resolution displays. This division down is illustrated in 1255 inFIG. 12. A similar activity occurs in 1260 with respect to the highresolution display, however, only a portion of the overall informationavailable is needed for video buffer 1205. The location of the handhelddisplay can be derived from either a Polhemus device, a photocelldetection of a scanning location from the fixed display device.

FIG. 13 shows an alternative for locating the handheld display when ascanning fixed display device is used. A handheld display 1300 ispositioned over a fixed display 1310. A photocell 1320 attached to thebottom of the viewport display 1300 detects when a light beam from thescanning display crosses the photocell. At that instant, the addressdriving the scanning display is captured to show the position at whichthe viewport display is located vis a vis the scanning driver. The exactaddress and location of the information displayed on the underlyingfixed display can be determined and utilized to determine theinformation to be provided on the screen of handheld display 1300.Clearly more than one photocell 1320 can be utilized to determine theorientation of the device vis a vis the backlit screen 1310.

FIG. 14 is a flowchart of an exemplary process for freezing the image onthe handheld display when it is lifted off the table. Using the displaylocation device, one determines whether the display has been lifted offthe table by an amount H which is greater than a threshold H1 (1400). Ifit has been, the image displayed on the screen of the display is frozenregardless of its translation with respect to the surface of fixeddisplay (1410). As long as the viewport display is located off the tableby an amount in excess of H1 (1420-Y), the image will remain frozen.However, once it is placed back on the table, the normal locationinformation will be received and the image will achieve the propercontent for the location at which it is replaced (1430).

In this disclosure, there is shown and described only the preferredembodiment of the invention, but, as aforementioned, it is to beunderstood that the invention is capable of use in various othercombinations and environments and is capable of changes or modificationswithin the scope of the inventive concept as expressed herein.

What is claimed is:
 1. A method of capturing a program running on afirst computer to permit it to run on a second computer, comprising thesteps of: a. providing an element for performing a step of copying allopen files from said first computer to said second computer; b.providing an element for performing a step of copying memory space fromsaid first computer to said second computer; c. providing an element forperforming a step of linking screens of said first computer and saidsecond computer; d. providing an element for performing a step ofcopying registers and program counters from said first computer to saidsecond computer; and e. providing an element for performing a step ofbeginning executing said program on said second computer.
 2. A computerprogram product comprising: a. a memory medium; and b. a computerprogram stored on said medium, said program comprising instructions forcapturing another program running on a first computer to permit saidanother program to run on a second computer by copying all open filesfrom said first computer to said second computer; copying memory spacefrom said first computer to said second computer; linking screens ofsaid first computer and said second computer; copying registers andprogram counters from said first computer to said second computer; andbeginning executing said another program on said second computer.